#coding:utf8

# 需求3：
# 从SogouQ.txt导入数据后，根据搜索关键词进行分词，并对用户和关键词进行分组排序并取出前5个数据
import jieba
from defs import cut_key_word, cut_usr_key_word
from pyspark import SparkContext,SparkConf

if __name__ == '__main__':
    conf = SparkConf().setAppName('test_persit')
    sc = SparkContext(conf=conf)

    rdd = sc.textFile('hdfs://node1:8020/input/SogouQ.txt')
    # 将用户和搜索关键字组成元组取出
    usr_content_dss = contentRdd = rdd.map(lambda x: x.split("\t")).map(lambda x: (x[1],x[2]))
    result_rdd = usr_content_dss.flatMap(lambda x:cut_usr_key_word(x[0],x[1])).reduceByKey(lambda x,y:x+y).sortBy(lambda x:x[1],ascending=False)
    print('需求2的结果是：',result_rdd.take(5))